package com.like.network;

import com.like.entity.EditNickReq;
import com.like.entity.EditPwdReq;
import com.like.entity.GeneralResponse;
import com.like.entity.GetDepReq;
import com.like.entity.GetDepResp;
import com.like.entity.GetUserBaseResp;
import com.like.entity.GetUserInfoReq;
import com.like.entity.GetUserInfoResp;
import com.like.entity.RealNameReq;

import retrofit2.Call;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

public interface UserService {

    @FormUrlEncoded
    @POST("open/getuserinfo/1.cshtml")
    Call<GeneralResponse<GetUserInfoResp>> getUserInfo(@Field("MsgID") String msgId, @Field("Secret") String secret, @Field("Data") GetUserInfoReq getUserInfoReq);

    @FormUrlEncoded
    @POST("open/getuserbase/1.cshtml")
    Call<GeneralResponse<GetUserBaseResp>> getUserBase(@Field("MsgID") String msgId, @Field("Secret") String secret, @Field("Data") GetUserInfoReq getUserInfoReq);

    @FormUrlEncoded
    @POST("open/changeduserpass/1.cshtml")
    Call<GeneralResponse<Object>> editPwd(@Field("MsgID") String msgId, @Field("Secret") String secret, @Field("Data") EditPwdReq editPwdReq);

    @FormUrlEncoded
    @POST("open/setnickname/1.cshtml")
    Call<GeneralResponse<Object>> editNickname(@Field("MsgID") String msgId, @Field("Secret") String secret, @Field("Data") EditNickReq editNickReq);

    @FormUrlEncoded
    @POST("open/setrealname/1.cshtml")
    Call<GeneralResponse<Object>> setRealName(@Field("MsgID") String msgId, @Field("Secret") String secret, @Field("Data") RealNameReq realNameReq);

    @FormUrlEncoded
    @POST("open/departmentsList/1.cshtml")
    Call<GeneralResponse<GetDepResp>> getDepartmentList(@Field("MsgID") String msgId, @Field("Secret") String secret, @Field("Data") GetDepReq getDepReq);

}
